package es.tikitaka.dao;

import java.util.List;

import es.tikitaka.domain.Temporada;
import es.tikitaka.domain.colegiado.Colegiado;
import es.tikitaka.domain.colegiado.PartColegiado;

/**
 * 
 * @author Saúl Domínguez
 * @since 2010
 * @category PFC
 */

public interface PartColegiadoService {

	/**
	 * Método para listar todas las participaciones de colegiados en el sistema
	 * 
	 * @return lista de participaciones
	 */
	List<PartColegiado> getList();

	/**
	 * Método para listar todas las participaciones de un colegiado a lo largo
	 * de su trayectoria
	 * 
	 * @param colegiado
	 *            Colegiado al que pertenecen las participaciones
	 * @return lista de participaciones del colegiado
	 */
	List<PartColegiado> getParticipaciones(Colegiado colegiado);

	/**
	 * 
	 * @param temporada
	 * @return
	 */
	List<PartColegiado> getColegiadosTemporada(Temporada temporada);

	/**
	 * Método para eliminar del sistema un participación de colegiado dada
	 * 
	 * @param id
	 *            Id de la participación de colegiado a eliminar
	 * @return estado del proceso (true or false)
	 */
	boolean delete(Integer id);

	/**
	 * Método para guardar una participación de colegiado en el sistema o las
	 * modificaciones sufridas por una participación ya existente
	 * 
	 * @param participacion
	 *            Participación de colegiado a guardar
	 * @return estado el proceso (true or false)
	 */
	boolean save(PartColegiado participacion);
}
